我正在尝试通过操作thisexample从matplotlib颜色图中提取离散颜色.但是,我找不到从颜色图中提取的N离散颜色。在下面的代码中我使用了cmap._segmentdata,但我发现它是整个颜色图的定义。给定一个颜色图和一个整数N,如何从颜色图中提取N个离散颜色并以十六进制格式导出?frompylabimport*delta=0.01x=arange(-3.0,3.0,delta)y=arange(-3.0,3.0,delta)X,Y=meshgrid(x,y)Z1=bivariate_normal(X,Y,1.0,1.0,0.0,0.0)Z2=bivariate_norma
这是一个简单的代码,它生成一个绘图图像并将其保存在与代码相同的目录中。现在,有没有办法可以将它保存在选择的目录中?importmatplotlibimportmatplotlib.pyplotaspltfig=plt.figure()ax=fig.add_subplot(111)ax.plot(range(100))fig.savefig('graph.png') 最佳答案 如果您要保存的目录是工作目录的子目录,只需在文件名前指定相对路径即可:fig.savefig('SubDirectory/graph.png')如果您希望使用绝
我必须在matplotlib的散点图中表示大约30,000个点。这些点属于两个不同的类,所以我想用不同的颜色来描绘它们。我成功了,但是有一个问题。这些点在许多区域中重叠,我最后描述的类将在另一个类的顶部可视化,将其隐藏。此外,散点图无法显示每个区域中有多少点。我也试过用histogram2d和imshow制作一个二维直方图,但是很难清楚地显示属于这两个类的点。您能否提出一种方法来明确类别的分布和点的集中度?编辑:为了更清楚,这是link以“x,y,class”格式保存到我的数据文件 最佳答案 一种方法是将数据绘制为低alpha散点图
我正在使用matplotlib在使用注释时绘制一些图形。我遇到的问题是注释(在绘图区域之外)从保存的图片中被切断,如下图所示。下图就是我想要的:有人知道如何解决这个问题吗?我注意到人们建议在rcParams中使用plt.tight_plot()或fig.autolayout,但这似乎不起作用。下面是生成图形的代码。fig,ax=plt.subplots()ax.set_xlim([-0.02,1.1])ax.set_ylim([-0.02,1.1])ax.plot([0,0,0,0.5,0.5,0.5,1,1,1],[0,0.5,1,0,0.5,1,0,0.5,1],'go')ax.a
我想用matplotlib制作一个方轴散点图。通常使用set_scale("log")效果很好,但它限制我使用log10。我想在log2中制作情节。我在这里看到了解决方案:Howtoproduceanexponentiallyscaledaxis?但是如果你的数组中有0值,它就非常复杂并且不起作用,我就是这样做的。我想像其他numpy函数一样忽略那些。例如:log2scatter(data1,data2)其中data1和data2包含0应在x和y轴上具有对数刻度,并带有对数间隔刻度。和log10一样,除了log2...谢谢。 最佳答案
我正在使用matplotlib绘制对数归一化图像,但我希望原始原始图像数据在颜色栏中而不是[0-1]间隔中表示。我觉得有一种更matplotlib'y的方式来做到这一点,通过使用某种标准化对象而不是事先转换数据......在任何情况下,原始图像中可能存在负值。importmatplotlib.pyplotaspltimportnumpyasnpdeflog_transform(im):'''returnslog(image)scaledtotheinterval[0,1]'''try:(min,max)=(im[im>0].min(),im.max())if(max>min)and(m
最小工作示例我希望下面显示一个情节,但我看不到情节并且解释器只是挂起(我的后端将自己报告为TkAgg)。importmatplotlib.pyplotaspltfromthreadingimportThreaddefplot():fig,ax=plt.subplots()ax.plot([1,2,3],[1,2,3])plt.show()defmain():thread=Thread(target=plot)thread.setDaemon(True)thread.start()print'Done'如何让绘图显示?上下文我正在运行一个包含大量迭代的模拟,并希望每1000次迭代更新一次
Matplotlib的pyplot中“交互模式”的文档如下:Theinteractivepropertyofthepyplotinterfacecontrolswhetherafigurecanvasisdrawnoneverypyplotcommand.IfinteractiveisFalse,thenthefigurestateisupdatedoneveryplotcommand,butwillonlybedrawnonexplicitcallstodraw().WheninteractiveisTrue,theneverypyplotcommandtriggersadraw.这
我想创建一个Matplotlib散点图,图例显示每个类的颜色。例如,我有一个x和y值列表,以及一个classes值列表。x、y和classes列表中的每个元素对应于图中的一个点。我希望每个类都有自己的颜色,我已经编码了,但是我希望这些类显示在图例中。我应该将哪些参数传递给legend()函数来实现这一点?到目前为止,这是我的代码:importmatplotlib.pyplotaspltx=[1,3,4,6,7,9]y=[0,0,5,8,8,8]classes=['A','A','B','C','C','C']colours=['r','r','b','g','g','g']plt.sc
我在绘制多个子图时遇到问题。我想将子图的物理纵横比设置为固定值。在我的示例中,我在横向A4图形上有12个子图(4行和3列)。所有子图都很好地放置在整个图形上,并且所有子图的高度几乎等于宽度。但是,如果我将图形的布局更改为纵向,则子图会垂直拉伸(stretch)。这正是不应该发生的事情。我希望子图的高度和宽度与风景图中相同。子图的纵横比是否有可能保持不变?提前致谢,彼得编辑:我找到了一种解决方法。但这仅适用于非对数轴...aspectratio=1.0ratio_default=(ax.get_xlim()[1]-ax.get_xlim()[0])/(ax.get_ylim()[1]-a